标准DID中的平行趋势检验,动态效应, 安慰剂检验, 预期效应教程
前些年,我们出过“PSM-DID, DID, RDD, Stata保姆级程序和数据百科全书式的宝典!”“交错DID的平行趋势检验, 事件研究图绘制, 安慰剂检验的保姆级程序指南!”,今天,再出一份关于一次性DID或标准型DID中的平行趋势检验,动态效应, 安慰剂检验教程。
**本文研究的是欧盟国家实施的一项政策对中国我国电商跨境并购的影响,该政策在2018年一步到位,因此适用于标准型的DID方法,参照:Y=Treat+Time+Treat*Time,其中的Treat为EU,即是否为欧盟国家,是为1,否则为0,Time为政策开始年份2018,即2018年及之后都取值为1,否则取值为0,我们关切的是Treat*Time交叉项前的系数。
**基准回归,被解释变量为lnDMA,核心变量为DID,即Treat*Time,在这里若该国是欧盟国家,且Time为2018年及之后,则Treat*Time取值为1,否则为0************************************************************
use datafor一次性DID, clear
asdoc reghdfe lnDMA DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id ) cluster(id) dec(4)
**稳健性检验,里面包括各种证伪检验,还有剔除可能的预期效应,其他政策的干扰,容易混淆政策因素的样本等*****************************
asdoc reghdfe lnDMA nEU_DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id) cluster(id) dec(4) nest replace //以欧洲的非欧盟国家为伪实验组,证伪检验
asdoc reghdfe ln_eDMA DID EU policyyear ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id) cluster(id) dec(4) nest append //电商外其他跨境并购作为被解释变量
asdoc reghdfe lnDMA ukDID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id ) cluster(id) dec(4) nest replace
//把英国纳入EU作为实验组,即实验组增加了4个样本
asdoc reghdfe lnDMA DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig if island==0, absorb(adyear id ) cluster(id) dec(4) nest append //剔除了避税天堂样本
asdoc reghdfe lnDMA DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig if adyear>2017 | adyear<2015, absorb(adyear id ) cluster(id) dec(4) nest append //剔除政策制定和颁发时间段(2015-2017)的预期效应,政策发生在2018年
asdoc nbreg DMA DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig i.( id ) i.adyear ,vce(cluster id ) dec(4) nest append //以负二项回归估计
asdoc reghdfe ihsDMA DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id ) cluster(id) dec(4) nest append //变成了反正弦函数
**安慰剂检验,通过随机虚构政策试点进行安慰剂检验。本文进行了500次的随机抽样然后重新进行回归估计***********************************
permute DID beta = _b[DID], reps(500) seed(100) saving("Simulations.dta"): reghdfe lnDMA DID ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id ) cluster(id)
use "Simulations.dta", clear
#delimit ;
dpplot beta, xline(-0.038, lc(black*0.5) lp(dash))
xline(0, lc(black*0.5) lp(solid))
xtitle("Estimator", size(*0.8))
xlabel(-0.05(10)0.05, labsize(small))
ytitle("Density", size(*0.8))
ylabel(, nogrid format(%4.1f) labsize(small))
note("") caption("")
graphregion(fcolor(white)) ;
#delimit cr
graph export "placebotest.png", width(1000) replace
***绘制平行趋势图,以及动态效应图*******************************************************************************************
use datafor一次性DID, clear
**生成标准化的事件-时间变量,这里是一次性政策时间
gen timeToTreat = adyear - 2018
**生成事件研究图以及政策的动态效应
forvalues i=9(-1)1{
gen pre`i'=(timeToTreat == -`i'& EU ==1) //这里的EU相当于treat(处理组), timeToTreat相当于post(年份)
}
gen current=(timeToTreat == 0 & EU ==1)
forvalues i=1(1)3{
gen post`i'=(timeToTreat == `i'& EU ==1)
}
drop pre9 //把第一期作为基准组
reghdfe lnDMA pre* current post* ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id ) cluster(id)
***平行趋势检验画图、动态效应检验
coefplot, baselevels ///
keep(pre* current post*) ///
levels(95) ///
vertical ///
coeflabels(pre8=-8 pre7=-7 pre6=-6 pre5=-5 pre4=-4 pre3=-3 pre2=-2 pre1=-1 current=0 post1=1 post2=2 post3=3) ///
yline(0,lcolor(edkblue*0.8)) ///
xline(9, lwidth(vthin) lpattern(dash) lcolor(teal)) ///
ylabel(,labsize(*0.75)) xlabel(,labsize(*0.75)) ///
ytitle("政策动态效应", size(small)) ///
xtitle("政策时点", size(small)) ///
addplot(line @b @at,lcolor(gs1)) ///
ciopts(lpattern(dash) recast(rcap) msize(medium)) ///
msymbol(circle_hollow) ///
scheme(s1mono) graphregion(color(white)) //政策实施前三期起,政策效应显著,argue是存在逾期效应
***拓展性分析:生成政策的长短期DID的影响,这个实际上与上面的动态效应图进行呼应了********************************************
gen DID_s = EU*policyyear if adyear <= 2019 //2018和2019年赋值为1
replace DID_s = 0 if DID_s ==.
gen DID_l = EU*policyyear if adyear>2019 //2020和2021年赋值为1
replace DID_l = 0 if DID_l ==.
asdoc reghdfe lnDMA DID_s DID_l ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear id ) cluster(id) dec(4) nest replace //比较长短期政策效应
***使用交互项做机制分析*****************************************************************************************************
asdoc reghdfe lnDMA DID c.DID#c.RSS EU policyyear ln_pGDP growth real_exchange icrg lndis lntrade comlang_off comrelig, absorb(adyear ) cluster(id) dec(4) nest replace
放到Stata里就是这样了,直接运行即可。
代码和数据的下载链接:https://pan.baidu.com/s/1F6C7Hms9YpQ1zdHRsog_1A
关于双重差分DID,参看:1.120篇DID双重差分方法的文章合集, 包括代码,程序及解读, 建议收藏!2.诚实双重差分法DID, 面板事件研究法和Bacon分解的经典应用文!3.前沿: 多期或渐进或交叠DID, 如何进行平行趋势检验呢?4.多期DID或渐进DID或交叠DID, 最新Stata执行命令整理如下供大家学习,5.DID前沿: 5种方法估计事件研究的因果效应, 并使用绘制系数和置信区间, 详细代码和数据,6.事件研究法开展政策评估和因果识别, 分享8篇提供数据和代码的文章,7.推荐用渐进(多期)DID和事件研究法开展政策评估的论文及其实现数据和代码!8.机器学习已经与政策评估方法, 例如事件研究法结合起来识别政策因果效应了!9.前沿, 模糊双重差分法FDID方法介绍和示例, 附code和数据!10.双重差分法和事件研究法的区别主要在哪里?11.前沿, 合成双重差分法SDID方法介绍和示例, 附code和数据!12.具有空间溢出效应的双重差分法估计最全综述, 理论和操作尽有!13.最新Sun和Abraham(2021)和TWFE估计多期或交错DID并绘图展示结果!详细解读code!
下面这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。
5年,计量经济圈近1500篇不重类计量文章,
可直接在公众号菜单栏搜索任何计量相关问题,
Econometrics Circle
数据系列:空间矩阵 | 工企数据 | PM2.5 | 市场化指数 | CO2数据 | 夜间灯光 | 官员方言 | 微观数据 | 内部数据
计量系列:匹配方法 | 内生性 | 工具变量 | DID | 面板数据 | 常用TOOL | 中介调节 | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 | 因果识别 | 社会网络 | 空间DID
数据处理:Stata | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等 |
干货系列:能源环境 | 效率研究 | 空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习 | SSCI | CSSCI | SSCI查询 | 名家经验计量经济圈组织了一个计量社群,有如下特征:热情互助最多、前沿趋势最多、社科资料最多、社科数据最多、科研牛人最多、海外名校最多。因此,建议积极进取和有强烈研习激情的中青年学者到社群交流探讨,始终坚信优秀是通过感染优秀而互相成就彼此的。